#ifndef _PRODUCT_H_
#define _PRODUCT_H_

class product {
public:
    virtual ~product() = 0;

protected:
    product();

private:

};

class concreteProduct1 : public product {
public:
    ~concreteProduct1();
    concreteProduct1();

protected:

private:

};

class concreteProduct2 : public product {
public:
    ~concreteProduct2();
    concreteProduct2();

protected:

private:

};
#endif